package com.mianyang.zhangsan.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mianyang.zhangsan.model.dto.SecVideoDto;
import com.mianyang.zhangsan.model.entity.SecVideo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @author jiangjr
*/
public interface SecVideoService extends IService<SecVideo> {

    /**
     * 查询视频
     * @param cond 查询条件
     * @param current 当前页码
     * @param pageSize 分页大小
     * @return 视频列表
     */
    Page<SecVideo> selectVideos(SecVideoDto cond, int current, int pageSize);

    /**
     * 按照指定字段排序top榜
     * @param column 排序字段
     * @param top top
     * @return videos
     */
    List<SecVideo> selectVideosOrderBy(String column, int top);

    /**
     * 上传视频
     * @param videoFile 视频文件
     * @param video 视频信息
     * @param uploadType 1-upload video file, 2-upload video img
     */
    void uploadVideo(MultipartFile videoFile, SecVideo video, int uploadType);

    /**
     * 评价视频
     * @param videoId 视频编号
     * @param score 得分
     */
    void appraise(Long videoId, double score);

    /**
     * 增加视频点击量
     * @param videoId 视频编号
     */
    void addHitNum(Long videoId);
}
